home *** CD-ROM | disk | FTP | other *** search
- /*
- * Definitions etc. for regexp(3) routines.
- *
- * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof],
- * not the System V one.
- */
-
- #define NSUBEXP 10
- typedef struct regexp {
- char *startp[NSUBEXP];
- char *endp[NSUBEXP];
- long regstart; /* Internal use only. */
- long reganch; /* Internal use only. */
- char *regmust; /* Internal use only. */
- long regmlen; /* Internal use only. */
- char program[1]; /* Unwarranted chumminess with compiler. */
- } regexp;
-
-
- /*
- * The first byte of the regexp internal "program" is actually this magic
- * number; the start node begins in the second byte.
- */
- #define MAGIC 0234
-
- extern pascal regexp *regcomp(char *exp, long excompat);
- extern pascal void regfree(regexp *prog);
- extern pascal long regexec(register regexp *prog, register char *string);
- extern pascal char *regsub(regexp *prog, char *source, char *dest, long n);
-
- /* you have to define this! */
- extern void pascal regerror(char *msg);
-